package com.yuandian.api.middle_platform.po;

import com.yuandian.po.BasePageSearch;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 说明：单位能力总览查询条件参数
 * @Author tianlr
 * @Date 2023/5/16 10:26
 */
@Data
@ApiModel(value = "能力服务数据指标查询参数类")
@EqualsAndHashCode(callSuper = true)
public class OrgAbilityParam extends BasePageSearch {

    /**
     * 单位编码
     */
    @ApiModelProperty(value = "单位编码")
    private String orgCode;

    /**
     * 单位名称
     */
    @ApiModelProperty(value = "单位名称")
    private String orgName;

    /**
     * 能力编码
     */
    @ApiModelProperty(value = "能力编码")
    private String abilityCode;

    /**
     * 能力名称
     */
    @ApiModelProperty(value = "能力名称")
    private String abilityName;

    /**
     * 服务编码
     */
    @ApiModelProperty(value = "服务编码")
    private String serviceCode;

    /**
     * 服务名称
     */
    @ApiModelProperty(value = "服务名称")
    private String serviceName;

    /**
     * 系统名称
     */
    @ApiModelProperty(value = "系统名称")
    private String systemName;

    /**
     * 服务调用形式
     * API、SaaS、PaaS、SDK、H5、文件类、交付类、软件仓库类
     */
    @ApiModelProperty(value = "服务调用形式", notes = "API、SaaS、PaaS、SDK、H5、文件类、交付类、软件仓库类")
    private String invocationMode;

    /**
     * 响应时间分布
     * 快速响应、正常响应、慢响应、缓慢响应、超时响应
     */
    @ApiModelProperty(value = "响应时间分布", notes = "快速响应、正常响应、慢响应、缓慢响应、超时响应")
    private String responseTimeDistribution;

    /**
     * http返回码最小值
     *
     */
    @ApiModelProperty(value = "http返回码最小值")
    private int serverResCodeMin;

    /**
     * http返回码最大值
     *
     */
    @ApiModelProperty(value = "http返回码最大值")
    private int serverResCodeMax;

    /**
     * 业务返回码
     */
    @ApiModelProperty(value = "业务返回码")
    private String businessResCode;

    /**
     * 是否查询响应超时数据
     *  0：否   1：是
     */
    @ApiModelProperty(value = "是否查询响应超时数据", notes = "0：否   1：是")
    private int timeOut;

    /**
     * 响应耗时最小值
     */
    @ApiModelProperty(value = "响应耗时最小值")
    private long responseTimeMin;

    /**
     * 响应耗时最大值
     */
    @ApiModelProperty(value = "响应耗时最大值")
    private long responseTimeMax;

    /**
     * 响应IP
     */
    @ApiModelProperty(value = "响应IP")
    private String responseIp;

    /**
     * 新建会话响应IP
     */
    @ApiModelProperty(value = "新建会话响应IP")
    private String newSessionResponseIp;
    /**
     * 是否根据新建会话查询
     * 0：否   1：是
     */
    @ApiModelProperty(value = "是否根据新建会话查询", notes = "0：否   1：是")
    private int newSession;
    /**
     * 是否根据客户端零窗口包数查询
     * 0：否   1：是
     */
    @ApiModelProperty(value = "是否根据客户端零窗口包数查询", notes = "0：否   1：是")
    private int clientZero;
    /**
     * 是否根据服务端零窗口包数查询
     * 0：否   1：是
     */
    @ApiModelProperty(value = "是否根据服务端零窗口包数查询", notes = "0：否   1：是")
    private int serverZero;
    /**
     * 是否根据客户端重传包数查询
     * 0：否   1：是
     */
    @ApiModelProperty(value = "是否根据客户端重传包数查询", notes = "0：否   1：是")
    private int clientRetry;
    /**
     * 是否根据服务端重传包数查询
     * 0：否   1：是
     */
    @ApiModelProperty(value = "是否根据服务端重传包数查询", notes = "0：否   1：是")
    private int serverRetry;
    /**
     * 是否根据客户端重置包数查询
     * 0：否   1：是
     */
    @ApiModelProperty(value = "是否根据客户端重置包数查询", notes = "0：否   1：是")
    private int clientReset;
    /**
     * 是否根据服务端重置包数查询
     * 0：否   1：是
     */
    @ApiModelProperty(value = "是否根据服务端重置包数查询", notes = "0：否   1：是")
    private int serverReset;
    /**
     * 查询开始位置
     */
    @ApiModelProperty(value = "查询开始位置(分页用)")
    private long startIndex;
}
